from sys import argv                                        #从sys导入模块argv
from os.path import exists                                  #从os.path导入模块exists

script,from_file,to_file = argv                             #把argv解包，分别传入script，from_file,to_file
print(f"Copying from {from_file} to {to_file}")             #输出“Copying from 源文本文件 to 目标文本文件”
in_file = open(from_file,'r')                               #打开源文本文件，并把文件对象赋值给in_file变量
indata:str = in_file.read()                                 #读取in_file文件里面的内容，并且赋值给indata变量
print(f"The input file is {len(indata)} bytes long")        #输出“The input file is indata的字节长度 bytes long”
print(f"Does the output file exist? {exists(to_file)}")     #判断to_file文件是否存在，输出“Does the output file exist? True/False”
print("Ready,hit RETURN to continue,CTRL-C to abort.")      #输出“Ready,hit RETURN to continue,CTRL-C to abort.”
input()                                                     #等待用户输入，回车键继续，CTRL+C取消
out_file = open(to_file,'w')                                #以写模式打开目标文本文件，并且把文件类赋值给out_file
out_file.write(indata)                                      #把从源文本文件读入的内容（indata）写入到out_file所指示的文件
print("Alright,all done.")                                  #输出“Alright,all done.”
out_file.close()                                            #关闭目标文本文件的文件描述符
in_file.close()                                             #关闭源文本文件的文件描述符
